package com.zhuiYun.project.api.commodity.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zhuiYun.project.util.ObjectUtils;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.Transient;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @ClassName CommodityModel
 * @Description TODO
 * Author 高
 * @Date 2023/4/3 13:57
 * @Version 1.0
 **/
@ApiModel("商品模型类")
@Data
public class CommodityModel implements Serializable {
    /*
     * 商品id
     * */
    @ApiModelProperty("主键id新增时无需填写")
    private Integer id;
    /*
     * 商品名称
     * */
    @NotBlank(message = "商品名不能为空")
    @ApiModelProperty("商品名")
    private String commodityName;
    /*
     * 商品价格
     * */
    @NotBlank(message = "商品价格不能为空")
    @ApiModelProperty("商品价格")
    private BigDecimal price;
    /*
     * 商品优惠价格
     * */
    @NotBlank(message = "商品优惠价格不能为空")
    @ApiModelProperty("商品优惠价格")
    private BigDecimal favorablePrice;
    /*
     * 商品vip价格
     * */
    @NotBlank(message = "商品vip价格不能为空")
    @ApiModelProperty("商品vip价格")
    private BigDecimal vipPrice;
    /**
     * 商品创建时间
     */
    @ApiModelProperty("商品创建时间")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")//JsonFormat是出参格式化。
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")//DateTimeFormat 是入参格式化；
    private Date createTime;
    /**
     * 商品修改时间
     */
    @ApiModelProperty("更新时间")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")//JsonFormat是出参格式化。
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")//DateTimeFormat 是入参格式化；
    private Date updateTime;
    /*
     * 商品介绍
     * */
    @ApiModelProperty("商品介绍")
    private String back;
    /*
     * 分类id
     * */
    @ApiModelProperty("分类id")
    private String typeId;
    /*
     * 商品主图id（多图）
     * */
    @ApiModelProperty("商品主图id（多图）")
    private String imageId;
    /*
     * 商品介绍图片id（多图）
     * */
    @ApiModelProperty("商品介绍图片id（多图）")
    private String imageViewId;
    /*
     * 商品库存数量
     * */
    @ApiModelProperty("商品库存数量")
    private Integer goodsQuantity;

    /*
     * 删除标志（0未删除，1已删除）
     * */
    @ApiModelProperty("删除标志（0上架商品，1未上架商品，2回收站商品）")
    private Integer delFlag;

    public void addimg(String imgid){
        if (ObjectUtils.isNotEmpty(this.imageId)){
            this.imageId += ','+imgid;
        }else{
            this.imageId = imgid;
        }
    }

    public void addviewimg(String imgid){
        if (ObjectUtils.isNotEmpty(this.imageViewId)){
            this.imageViewId += ','+imgid;
        }else{
            this.imageViewId = imgid;
        }
    }

}